package com.battery.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.battery.common.annotation.Excel;
import com.battery.common.core.domain.BaseEntity;
import tk.mybatis.mapper.annotation.KeySql;

import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;

/**
 * 设备对象 ws_device
 *
 * @author battery
 * @date 2021-01-22
 */
@Table(name = "ws_device")
public class Device {

    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @Id
    @KeySql(useGeneratedKeys = true)
    private String id;

    /**
     * 机柜SN
     */
    @Excel(name = "机柜SN")
    private String sn;

    /**
     * 平台ID
     */
    @Excel(name = "平台ID")
    private String projectId;

    /**
     * 直营合作商ID
     */
    @Excel(name = "直营合作商ID")
    private String partnerId;

    /**
     * 商户ID
     */
    @Excel(name = "商户ID")
    private String merchantId;

    /**
     * 门店ID
     */
    @Excel(name = "门店ID")
    private String storeId;

    /**
     * 设备类型
     */
    @Excel(name = "设备类型")
    private String devType;

    /**
     * 设备状态 0 在线 1 离线
     */
    @Excel(name = "设备状态 0 在线 1 离线")
    private Integer devStatus;

    /**
     * 线租借-标签
     */
    @Excel(name = "线租借-标签")
    private Integer note;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remarks;


    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;


    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;


    /**
     * 0 未删除 1 已删除
     */
    @Excel(name = "0 未删除 1 已删除")
    private Integer isDeleted;


    private Integer isActivity;


    // 活动ID
    private String eventId;


    private Integer isDisable;

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setSn(String sn) {
        this.sn = sn;
    }

    public String getSn() {
        return sn;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    public String getProjectId() {
        return projectId;
    }

    public void setPartnerId(String partnerId) {
        this.partnerId = partnerId;
    }

    public String getPartnerId() {
        return partnerId;
    }

    public void setMerchantId(String merchantId) {
        this.merchantId = merchantId;
    }

    public String getMerchantId() {
        return merchantId;
    }

    public void setStoreId(String storeId) {
        this.storeId = storeId;
    }

    public String getStoreId() {
        return storeId;
    }

    public void setDevType(String devType) {
        this.devType = devType;
    }

    public String getDevType() {
        return devType;
    }

    public void setDevStatus(Integer devStatus) {
        this.devStatus = devStatus;
    }

    public Integer getDevStatus() {
        return devStatus;
    }

    public void setNote(Integer note) {
        this.note = note;
    }

    public Integer getNote() {
        return note;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getRemarks() {
        return remarks;
    }


    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    public Integer getIsActivity() {
        return isActivity;
    }

    public void setIsActivity(Integer isActivity) {
        this.isActivity = isActivity;
    }


    public String getEventId() {
        return eventId;
    }

    public void setEventId(String eventId) {
        this.eventId = eventId;
    }


    public Integer getIsDisable() {
        return isDisable;
    }

    public void setIsDisable(Integer isDisable) {
        this.isDisable = isDisable;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("sn", getSn())
                .append("projectId", getProjectId())
                .append("partnerId", getPartnerId())
                .append("merchantId", getMerchantId())
                .append("storeId", getStoreId())
                .append("devType", getDevType())
                .append("devStatus", getDevStatus())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("note", getNote())
                .append("remarks", getRemarks())
                .toString();
    }
}
